package cn.iocoder.yudao.module.reading.dal.dataobject.stats;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDate;

/**
 * 用户阅读统计 DO
 *
 * @author 芋道源码
 */
@TableName("user_reading_stats")
@KeySequence("user_reading_stats_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserReadingStatsDO extends BaseDO {

    /**
     * 统计ID
     */
    @TableId
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 累计打卡天数
     */
    private Integer totalPunchDays;
    /**
     * 累计阅读绘本数
     */
    private Integer totalReadBooks;
    /**
     * 当前连续打卡天数
     */
    private Integer currentStreak;
    /**
     * 最长连续打卡天数
     */
    private Integer maxStreak;
    /**
     * 最后打卡日期
     */
    private LocalDate lastPunchDate;

}
